1. Field
The present invention relates generally to data packet communications and more specifically to scheduling synchronous packet transmissions on a Time-Division Multiplexed (TDM) communications system.
2. Background
Recently there is a demand for a transmission system to handle both unicast and multicast/broadcast transmission. Unicast transmission is directed to one user, whereas multicast/broadcast is directed to multiple users. In a time-division multiplexed scheme, time slots may be scheduled for unicast or multicast/broadcast packet transmissions. Multicast and broadcast packets are typically synchronous. Thus multicast and broadcast packets are transmitted in specific time slots on a periodic basis. These synchronous packets may come from one or more sources, such as synchronous control channels, sub-synchronous control channels, or multicast/broadcast channels. Unicast packets are typically asynchronous and may be transmitted in any available slot. In other words, the synchronous packets typically have less flexible scheduling requirements than unicast packets.
Packets may take multiple time slots to complete transmission, so the unicast scheduler schedules a unicast packet to complete transmission before the next synchronous packet is sent. When scheduling an asynchronous/unicast packet, the scheduler must be aware of future synchronous packet transmissions. When scheduling a unicast packet, the scheduler looks ahead, for example, the scheduler may consider as many as 64 slots, for synchronous packets that would be due to transmit within that time. In many cases, synchronous packets are not available sufficiently in advance to allow the scheduler to plan; but the unicast scheduler must still leave the appropriate slots open for synchronous packets. There is a need, therefore, to provide a simple, generic mechanism for handling synchronous and asynchronous packet transmissions in one system.